package com.ruoyi.keep.domain;

import java.util.Date;

import java.util.List;

import com.baomidou.mybatisplus.annotation.TableId;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 普通用户管理对象 common_users
 * 
 * @author xjl
 * @date 2024-08-13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonUsers extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户id */
@TableId
    private Integer id;

    /** 手机号 */
    @Excel(name = "手机号")
    private String mobile;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickname;

    /** 性别 */
    @Excel(name = "性别")
    private Long gender;

    /** 生日 */

    @DateTimeFormat(pattern = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    /** 所在城市 */
    @Excel(name = "所在城市")
    private String city;

    /** 职业 */
    @Excel(name = "职业")
    private String occupation;

    /** 身高 */
    @Excel(name = "身高")
    private Long height;

    /** 体重 */
    @Excel(name = "体重")
    private Long weight;

    /** 个性签名 */
    private String signature;

    /** 用户头像 */
    private String avatarUrl;

    /** 会员等级 */
    @Excel(name = "会员等级")
    private Long membershipLevel;

    /** 健身经验表id */
    @Excel(name = "健身经验表id")
    private Long experienceId;

    /*总金额*/
    private Long allMoney;
    /*
    * 一对多健身目的*/
    private List<GymExperience> gymExperiences;


    /*
    * 用户一对多目的中间表*/
    private List<UserPurposeMiddle> userPurposeMiddles;
    /*
    * 一对多订单*/
    private List<Order> orders;
    /*
    * 一对多健身目的*/
    private List<FitnessPurposes> fitnessPurposes;
    private UserBuyNumberCard userBuyNumberCard;
    /*
    * 一对多地址*/
    private List<DeliveryAddress> deliveryAddresses;
    /*一对多订单查询*/

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }
    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }
    public void setGender(Long gender) 
    {
        this.gender = gender;
    }

    public Long getGender() 
    {
        return gender;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setOccupation(String occupation) 
    {
        this.occupation = occupation;
    }

    public String getOccupation() 
    {
        return occupation;
    }
    public void setHeight(Long height) 
    {
        this.height = height;
    }

    public Long getHeight() 
    {
        return height;
    }
    public void setWeight(Long weight) 
    {
        this.weight = weight;
    }

    public Long getWeight() 
    {
        return weight;
    }
    public void setSignature(String signature) 
    {
        this.signature = signature;
    }

    public String getSignature() 
    {
        return signature;
    }
    public void setAvatarUrl(String avatarUrl) 
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() 
    {
        return avatarUrl;
    }
    public void setMembershipLevel(Long membershipLevel) 
    {
        this.membershipLevel = membershipLevel;
    }

    public Long getMembershipLevel() 
    {
        return membershipLevel;
    }
    public void setExperienceId(Long experienceId) 
    {
        this.experienceId = experienceId;
    }

    public Long getExperienceId() 
    {
        return experienceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("mobile", getMobile())
            .append("nickname", getNickname())
            .append("gender", getGender())
            .append("birthday", getBirthday())
            .append("city", getCity())
            .append("occupation", getOccupation())
            .append("height", getHeight())
            .append("weight", getWeight())
            .append("signature", getSignature())
            .append("avatarUrl", getAvatarUrl())
            .append("membershipLevel", getMembershipLevel())
            .append("experienceId", getExperienceId())
            .toString();
    }
}
